OpenSolver: A Coordination-Enabled Abstract Branch-and-Prune Tree Search Engine
نویسنده
چکیده
Coordination programming deals with building complex software systems from largely autonomous component systems. Cooperative constraint solving (see for example [1]), which is widely recognized as a means to improve efficiency of constraint solving, is an area that may benefit from techniques developed in coordination programming, because the solvers that we want to combine are generally autonomous applications that have diverse interfaces. OpenSolver is an experimental constraint solver that has been designed with solver cooperation in mind. As a result, it allows for easy coordination. It implements a branch-and-prune tree search solving algorithm that is abstract in the sense that the actual functionality is determined by software plug-ins in a number of predefined categories, corresponding to different aspects of this solving algorithm. A special category of plug-ins covers the coordination layer of the solver. Through a plug-in in this category, the execution of the solving algorithm can be controlled, and data can be shared with other solvers. The main categories of functional plug-ins are domain types for CSP variables, domain reduction functions (DRF’s) that perform the actual pruning, schedulers that control the application of the DRF’s, branching strategies that expand the search tree, and several categories corresponding to different aspects of a strategy for traversing the search tree. OpenSolver is the basis for implementing DICE (DIstributed Constraint Environment) [2], a framework for cooperative constraint solving where it plays the role of a component solver, and of a wrapper that allows other solvers to be coordinated through it. For this purpose, a coordination layer plug-in is being developed through which OpenSolver instances can participate in a distributed constraint propagation algorithm, and in parallel search. These are the main modes of solver cooperation supported by DICE. Other possible coordination layer plug-ins are a user interface that drives a single OpenSolver as a standalone configurable constraint solver, and interfaces for nested search, through which an OpenSolver can be used as a DRF, or as a branching strategy plug-in.
منابع مشابه
Search Strategies for an Anytime Usage of the Branch and Prune Algorithm
When applied to numerical CSPs, the branch and prune algorithm (BPA) computes a sharp covering of the solution set. The BPA is therefore impractical when the solution set is large, typically when it has a dimension larger than four or five which is often met in underconstrained problems. The purpose of this paper is to present a new search tree exploration strategy for BPA that hybridizes depth...
متن کاملA two-phase method for selecting IMRT treatment beam angles: Branch-and-Prune and local neighborhood search
This paper presents a new two-phase solution approach to the beam angle and fluence map optimization problem in Intensity Modulated Radiation Therapy (IMRT) planning. We introduce Branch-and-Prune (B&P) to generate a robust feasible solution in the first phase. A local neighborhood search algorithm is developed to find a local optimal solution from the Phase I starting point in the second phase...
متن کاملDispensation Order Generation for Pyrosequencing
This article describes a dispensation order generation algorithm for genotyping using the Pyrosequencing method. The input template of the algorithm is a slightly restricted regular expression over the DNA strings that can be expected in a given sample. The algorithm computes a dispensation order that allows for determining, for each polymorphism in the input template, the genotype of any sampl...
متن کاملSolving Polynomial Systems Using a Branch and Prune Approach
This paper presents Newton, a branch & prune algorithm to nd all isolated solutions of a system of polynomial constraints. Newton can be characterized as a global search method which uses intervals for numerical correctness and for pruning the search space early. The pruning in Newton consists in enforcing at each node of the search tree a unique local consistency condition, called box-consiste...
متن کاملSynthesizing Minimal Tile Sets for Patterned DNA Self-assembly
The Pattern self-Assembly Tile set Synthesis (PATS) problem is to determine a set of coloured tiles that self-assemble to implement a given rectangular colour pattern. We give an exhaustive branch-and-bound algorithm to find tile sets of minimum cardinality for the PATS problem. Our algorithm makes use of a search tree in the lattice of partitions of the ambient rectangular grid, and an efficie...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2003